[小ネタ]local-ssl-proxyを利用したNext.js開発環境のHTTPSアクセスを簡単にしてみた
こんにちは!DA(データアナリティクス)事業本部 サービスソリューション部の大高です。
先日、ローカルのNext.js開発環境にHTTPSアクセスができるようにしてみたのですが、その際には以下のようにnpx local-ssl-proxy
コマンドを追加で叩いてHTTPSアクセスをするようにしていました。
% npx local-ssl-proxy \ --key localhost-key.pem \ --cert localhost.pem \ --source 3001 \ --target 3000
一方で、この方法は普段のローカル開発サーバの起動の仕方、つまりyarn dev
とちょっと違うので少しやり方を変えてみました。
local-ssl-proxyをインストールする
まずはlocal-ssl-proxy
をDevelopment Devendencyで追加インストールしてしまいます。
% yarn add -D local-ssl-proxy yarn add v1.22.19 [1/4] ? Resolving packages... warning local-ssl-proxy > [email protected]: Package no longer supported. Contact [email protected] for more info. [2/4] ? Fetching packages... [3/4] ? Linking dependencies... [4/4] ? Building fresh packages... success Saved lockfile. success Saved 12 new dependencies. info Direct dependencies └─ [email protected] info All dependencies ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] ├─ [email protected] └─ [email protected] ✨ Done in 1.49s.
package.json を編集する
インストールしたら、今度はpackage.json
に1行追加して、以下のようにしてみます。(一部抜粋)
"scripts": { "dev": "next dev", "dev:proxy": "next dev -p 3001 & local-ssl-proxy --key localhost-key.pem --cert localhost.pem --source 3000 --target 3001", "build": "next build", "start": "next start", "lint": "next lint" },
ここでは、まず開発サーバのポートを3001
で立ち上げています。つまり`http://localhost:3001`でアクセス可能なようにしました。
次に、local-ssl-proxyを利用して、`https://localhost:3000`へのアクセスを`http://localhost:3001`にリダイレクトするようにしました。
起動してみる
この状態で、追加したスクリプトを利用して起動してみます。
% yarn dev:proxy yarn dev:proxy yarn run v1.22.19 $ next dev -p 3001 & local-ssl-proxy --key localhost-key.pem --cert localhost.pem --source 3000 --target 3001 Started proxy: https://localhost:3000 → http://localhost:3001 ready - started server on 0.0.0.0:3001, url: http://localhost:3001 event - compiled client and server successfully in 244 ms (166 modules)
すると、このように`https://localhost:3000`にアクセスすることで開発サーバにHTTPSでアクセスできるようになりました。
ポート番号については、任意のもので良いのですが、元々の3000
のほうが個人的に違和感が無かったので、あえて変更してみました。
まとめ
以上、local-ssl-proxyを利用したNext.js開発環境のHTTPSアクセスを簡単にしてみました。
どなたかのお役に立てば幸いです。それでは!